With an object of setting BD-ROMs apart from DVDs while maintaining compatibility with DVDs, a technique that has been introduced into BD-ROM playback apparatuses is playback of video in two different modes, specifically, movie mode and enhanced mode. Movie mode is a playback mode that has the playback apparatus execute a program for performing DVD-like control to provide playback control that is DVD-compatible. One the other hand, enhanced mode is a playback mode that executes Java programs or the like while playing the same digital stream as movie mode. FIG. 1 illustrates screen display in movie mode and enhanced mode. Video playback in conjunction with the execution of a Java program enables playback in which graphics rendered by the Java program are composited with the video. Since such compositing is not possible with DVDs, this enhanced mode could prove to be highly instrumental in setting BD-ROMs apart from DVDs.
Graphics data of subtitles, buttons, or the like is multiplexed with the video stream of the video, and these together constitute one transport stream. This is to tightly synchronize display of the subtitles, buttons or the like with the video. With the transport stream being constituted in such a manner, the graphics data of subtitles, buttons, or the like is read by the playback apparatus regardless of whether the playback mode is enhanced mode or movie mode. The graphics data is read from the digital stream and placed in a margin area, resulting in the graphics data appearing on the screen in a manner such as the subtitle “I'm continuing down the highway”, and buttons “YES” and “NO” in FIG. 1. However, when a Java program attempts to render a character string or a graphic in the margin area, the character string or graphic is obstructed by the subtitles and the buttons. In addition, the subtitles and the buttons pose a further nuisance if the size of the video is reduced for use in the Java program. This is because if the subtitles and buttons are reduced at the same rate as the video, they become too small to read and therefore simply appear as dirt on the screen. Faced with the problem of the rendition area of the Java program being obstructed, the Java programmer will be seized with the temptation to either delete or hide the subtitles and buttons. However, when the movie work is composed of a plurality of digital streams, the number of subtitles and buttons multiplexed differs between digital streams. In addition, the display position of the subtitles and the buttons also changes with each digital stream. In other words, a disparity exists in that buttons and subtitles may be included in some digital streams but not in others. When such a disparity exists, it is considerably difficult to write a Java program in a manner that the subtitles and buttons are deleted or hidden, and therefore this disparity poses an obstacle to Java programming.